package com.wormhole.wormholemanagement.service;

import com.wormhole.wormholemanagement.entity.NewsPhoto;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface NewsPhotoService {
    NewsPhoto createPhoto(NewsPhoto photo, Long operatorId);
    void createPhotos(List<NewsPhoto> photos);
    NewsPhoto updatePhoto(Long id, NewsPhoto photo, Long operatorId);
    int batchUpdateArchiveStatus(List<Long> photoIds, Boolean isMovedToArchive);
    void batchMoveArchive(List<Long> photoIds,Integer moveType);
    void deletePhoto(Long id, Long operatorId);
    NewsPhoto getPhotoById(Long id);
    Page<NewsPhoto> getAllPhotos(Pageable pageable);
    Page<NewsPhoto> searchPhotos(Specification<NewsPhoto> spec, Pageable pageable);
    void importPhoto(String path);
    boolean renameFolder(String oldPath, String newFolderName) ;
    public void downloadZip(HttpServletResponse response, String downloadType, Map<String, String> params, Pageable pageable );
    public void importExcel(MultipartFile file);
    public List<String> getAllImagePaths();
    public void genFileNumber(String path);
}
